Speech recognition system using arbitration between continuous speech and isolated word modules

ABSTRACT

In the speech recognition system disclosed herein, an input utterance is submitted to both a large vocabulary isolated word speech recognition module and a small vocabulary continuous speech recognition module. The two recognition modules generate respective scores for identified large vocabulary models and for sequences of small vocabulary models. The score provided by the continuous speech recognizer is normalized on the basis of the length of the speech input utterance and an arbitration algorithm selects among the candidates identified by the recognition modules. Preferably, the competing scores from the two recognizers are scaled by a factor or factors empirically trained to minimize incursion by each of the vocabularies on correct results from the other vocabulary.

BACKGROUND OF THE INVENTION

The present invention relates to a speech recognition system and more particularly to a flexible speech recognition system which can, without user intervention, accommodate both isolated word input from a relatively large vocabulary and continuous speech input from a more limited vocabulary, i.e., a sequence of digits.

As is understood by those skilled in the art, large vocabulary speech recognition systems available with present technology require input utterances to be presented as isolated words or predetermined short phrases. In other words, the speaker must halt or pause between words. However, it is particularly awkward to constrain certain types of input, e.g., sequences of numbers, to the paused sequencing necessary for isolated word speech recognition.

With presently available technology, it is, however, possible to implement continuous speech recognition if the recognition vocabulary is constrained or limited. As is understood by those skilled in the art, continuous speech recognition systems preferably employ vocabulary models and decoding procedures which are quite different from those preferably utilized for isolate word speech recognition.

It is an object of the present invention to allow a user to input spoken information in either manner without having to explicitly change mode.

BRIEF DESCRIPTION OF THE PRESENT INVENTION

The flexible speech recognition system of the present invention incorporates both an isolated word speech recognizer and a continuous speech recognizer, both of which operate on the same input utterance. The isolated word speech recognizer employs a relatively large vocabulary of respective models, i.e., the number of models exceeds 5,000, while the continuous speech recognizer employs a relatively small vocabulary of respective models, e.g., numbering less than 2000. The isolated word recognizer provides a score indicating the degree of match of the input utterance with at least an identified one of the respective models while the continuous speech recognizer provides a score indicating the degree of match of the input utterance with an identified sequence of the respective models. The score provided by the continuous speech recognizer is preferably normalized on the basis of the length of the input utterance. An arbitration algorithm then selects among the models and sequences of models identified by the recognizers. Preferably, the scores generated by the respective recognizers are scaled by a factor or factors empirically trained to minimize incursions by each of the vocabularies on correct results from the other vocabulary.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a speech recognition system in accordance with the present invention;

FIG. 2 is a diagram illustrating the relationship of various software components employed in the speech recognition system; and

FIG. 3 is a flow chart illustrating the training of scaling values utilized in the system of FIGS. 1 and 2.

Corresponding reference characters indicate corresponding parts throughout the several views of the drawings.

DESCRIPTION OF THE PREFERRED EMBODIMENT

In common with many prior art systems, the preferred embodiment of the system of the present invention operates by first transducing acoustic speech waveforms to obtain corresponding electrical signals and then digitizing those signals. With reference to FIG. 1, the transducer indicated there is a microphone 11 which is connected, through a suitable preamplifier 13, to an analog-to-digital converter 15. The gain of pre-amplifier 13 is preferably adjustable under software control. As is usual in the art, the digitized speech signal is treated to obtain, at a succession of sample times, a sequence of digital values or data frames which characterize the speech. In the embodiment illustrated, these valuesare obtained by passing the speech signal through a digital signal processor 17 which performs a Fourier transform so as to extract spectral features characterizing the input speech. The collection of digital valuesdefining the input spectrum at a given moment of time is referred to hereinafter as a frame. Each frame may be considered to be a multidimensional vector as understood by those skilled in the art.

Collectively, the front end circuitry is identified by reference character 20. Though the input signal processing is illustrated as being implementeddigitally, it should be understood that analog filtering followed by analog-to-digital conversion might also be used. Likewise, while multichannel filtering is presently preferred, it should be understood that other methods of treating or encoding the raw input signal might alsobe employed, for example, linear predictive encoding which might also be done by special purpose hardware.

A general purpose microcomputer system 23, e.g., one employing an Intel 80486 microprocessor, is provided for general system management and control functions, as well as for the processing of distance or scoring calculations. As is conventional, computer 23 incorporates a video display24 and a keyboard 26 for providing interaction with the system user.

The raw spectral information obtained from the front end circuitry 20 is further preprocessed in the computer 23 to replace each sample or input frame with an index which corresponds to or identifies one of a predetermined set of standard or prototype spectral distributions or frames. In the particular embodiment being described, 1024 such standard frames are utilized. In the art, this substitution is conventionally referred to as vector quantization and the indices are commonly referred to as VQ indices. The preprocessing of the input data by the computer 23 also includes an estimating of the beginning and end of a word or continuous phrase in an unknown speech input segment, e.g. based on the energy level values. For this purpose, the input circuitry may incorporatea software adjustable control parameter, designated the "sensitivity" value, which sets a threshold distinguishing user speech from background noise.

As indicated previously, vocabulary models are represented by sequences of standard or prototype states. Rather than representing spectral distributions, the state indices identify or correspond to probability distribution functions. The state spectral index essentially serves as a pointer into a table which identifies, for each state index, the set of probabilities that each prototype frame or VQ index will be observed to correspond to that state index. The table is, in effect, a precalculated mapping between all possible frame indices and all state indices. Thus, for comparing a single frame and single state, a distance measurement or ameasure of match can be obtained by directly indexing into the tables usingthe respective indices and combining the values obtained with appropriate weighting. It is thus possible to build a table or array storing a distance metric representing the closeness of match of each standard or prototype input frame with each standard or prototype model state.

As is understood by those skilled in the art, the distance or likelihood values which fill the tables can be generated by statistical training methods. Various such training methods are known in the art and, as they do not form a part of the present invention, they are not described in further detail herein. Rather, for the purposes of the present invention, it is merely assumed that there is some metric for determining degree of match or likelihood of correspondence between input frames and the states which are used to represent vocabulary models. A preferred system for precalculating and storing a table of distance measurements is disclosed in the copending and coassigned application Ser. No. 08/250,699 of Thomas Lynch, Vladimir Sejnoha and Thomas Dinger, filed May 27, 1994 and entitledSpeech Recognition System Utilizing Precalculated Similarity Measurements. The disclosure of that application is incorporated herein by reference.

As is understood by those skilled in the art, natural variations in speaking rate require that some method be employed for time aligning a sequence of frames representing an unknown speech segment with each sequence of states representing a vocabulary word. This process is commonly referred to as time warping.

In isolated word recognition, the sequence of frames which constitute the unknown speech segment taken together with a sequence of states representing a vocabulary model in effect define a matrix and the time warping process involves finding a path across the matrix which produces the best score, e.g., least distance or cost. The distance or cost is typically arrived at by accumulating the cost or distance values associated with each pairing of frame index with state index as described previously with respect to the VQ (vector quantization) process. An isolated word speech recognition system will typically identify the best scoring model and may also identify a ranked list of possible alternates.

In addition to words which are to be recognized so as to generate an appropriate translation (spelling) for a user's application program, the discrete word vocabulary may also include models of common intrusive noises, e.g. paper rustling, door closing, or a cough. When an acoustic input is best matched with one of these models, a NUL output or no output is provided to the user's application program.

In continuous speech recognition, states corresponding to phones or other sub-units of speech are typically interconnected in a form of network and is decoded in correspondence with the ongoing utterance. A score is then built up progressively as the utterance proceeds. The total score this is a function both of the degree of match of the utterance with the decoded path and the length of the utterance.

Referring now to FIG. 2, the system illustrated there includes both an isolated-word speech recognition (ISR) module 41 and a continuous speech recognition (CSR) module 43. An input utterance received by the microphone11 and processed by the front end 20 is applied to both the ISR module 41 and the CSR module 33. While these modules are shown as operating on the input in parallel, it will be understood by those skilled in the computer art that these operations may in fact occur sequentially in either order or may, in fact, be performed on a time shared basis using the computational resources available.

The ISR module 41 employs a large vocabulary of appropriately defined models, this vocabulary being designated by reference character 45. In thecontext of the present invention, a large vocabulary may be considered as one having in excess of 5000 models and typically in the order of 30,000 models. In contrast, the CSR module 43 employs a relatively small vocabulary of appropriately configured models, designated by reference character 47. In the context of the present invention, a small vocabulary may be considered to be one of fewer than 2000 models and typically in theorder of 200 models. For example, a most useful vocabulary for the continuous speech recognition module is a set of the digits 0-9 and a set of suitable numerical demarcations such as "point", "comma", and "dash". This limited vocabulary can clearly be expanded by including words such as "teen", "hundred", "thousand" "dollars" "units", etc. Some words may appear in both vocabularies but, as indicated previously, they will be differently represented.

As indicated previously, the two recognition modules 41 and 43 will employ different types of models and different scoring mechanisms so that the scores are not directly comparable. Relative scaling of the scores is applied as indicated at reference character 51 to minimize or avoid intrusions by each vocabulary on correct translations from the other vocabulary. As will be apparent, a single scale factor could be applied tothe results of either of the recognizer modules or respective factors couldbe applied to both. In the particular embodiment illustrated, a scaling factor is applied to the scores obtained from the CSR module 43 to render them basically comparable with the scores obtained from the ISR module 41.A procedure for training up this scaling factor is described in greater detail hereinafter with reference to FIG. 3.

In addition to the straight acoustic scoring described thus far, it is preferable to superimpose a language model scoring which reflects the likelihood of usage of each particular word. This language model adjustment of the acoustic score obtained from the ISR model is indicated by reference character 53.

With regard to the hypothesis or sequence of models identified by the continuous speech recognition module 43, a language model score is determined for the first word in the sequence, typically a first digit, and this language model score is then applied to the score for the entire sequence of identified models. This process is indicated at reference character 55. Further, since the total score generated by the CSR will be affected by the length of the utterance (which may comprise multiple digits or other vocabulary models), a normalization for length is applied as indicated at reference character 57. This normalization can also be incorporated within the arbitration algorithm as next described.

An arbitration algorithm for selecting among the competing translation candidates is indicated at reference character 59. In the particular embodiment being described, this algorithm operates relatively straightforwardly and simply combines and orders the various scores obtained and then selects the top scoring candidate for output to the userapplication program, as indicated at reference character 61. The overall system for determining the scaling factor(s) utilized at step 51 in FIG. 2may be described as follows.

As indicated previously, the ISR module and the CSR module employ models ofdifferent character. Further, each of these sets of models will typically have been trained using a respective source of training data, i.e., multiple samples of various users speaking the words to be recognized. Likewise, each set of models will typically be tested with a separate respective set of data. In FIG. 3, the ISR model testing data is indicatedby reference character 71 and the CSR model testing data is indicated by reference character 73.

Baseline performance levels for the ISR and CSR modules is first determinedindependently for each module without interference by the other as indicated respectively at reference characters 75 and 77. For a given scale factor selected as indicated at reference character 79, the ISR testing data is then applied both to the CSR and the ISR modules, as indicated at reference character 83, and the intrusions by CSR models are counted. An intrusion is a case in which a CSR hypothesis has produced a score better than the score accorded to the correct translation by the ISRmodule. Similarly, the CSR testing data is applied to the ISR and CSR modules as indicated at reference character 85 and intrusions by ISR translations into correct CSR translations are counted.

The intrusion level is evaluated as indicated at reference character 87 anda search algorithm, designated by reference character 89, repeatedly adjusts the selected scale factor to minimize the intrusion level and to identify the optimum scaling factor which is then output and utilized in the step indicated by reference character 51 in FIG. 2. Any one of varioussearch algorithms may be utilized the simplest of which is to merely generate a series of scale factors and then pick the best performing one of them.

With the scaling factor thus adjusted, a user can dictate, in isolated or paused manner, text chosen from the large isolated word vocabulary 45 or, without changing modes or otherwise intervening in the ongoing operation of the system, can dictate in a continuous manner text selected from the smaller vocabulary 47 available to the continuous speech recognition module 43. Thus, text streams such as numerical quantities or credit card numbers can be entered into a user application program in a rapid and expeditious manner while at the same time having available the large vocabulary which can be provided by the isolated word recognition module 41.

In view of the foregoing it may be seen that several objects of the presentinvention are achieved and other advantageous results have been attained.

As various changes could be made in the above constructions without departing from the scope of the invention, it should be understood that all matter contained in the above description or shown in the accompanyingdrawings shall be interpreted as illustrative and not in a limiting sense. 

What is claimed is:
 1. A flexible speech recognition system comprising:an isolated word speech recognizer; accessible by said isolated word speech recognizer, a first vocabulary of respective models, said isolated word speech recognizer operating to compare speech input with at least a selected portion of said first vocabulary and to provide a plurality of scores indicating the degree of match of said speech input with identified ones of said models; a continuous speech recognizer; accessible by said continuous speech recognizer, a second vocabulary of respective models, said continuous speech recognizer operating to compare speech input to said second vocabulary of models and to provide a score indicating the degree of match of said speech input with an identified sequence of the respective models; an arbitration algorithm for selecting from among the models identified by said isolated word speech recognizer and the sequence of models identified by said continuous speech recognizer.
 2. A recognition system as set forth in claim 1 further comprising means for applying a relative scaling said recognizer scores by a factor empirically trained to minimize incursions by each of said vocabularies on correct results from the other vocabulary.
 3. A flexible speech recognition system comprising:an isolated word speech recognizer; accessible by said isolated word speech recognizer, a first vocabulary of respective models numbering in excess of 5000, said isolated word speech recognizer operating to compare speech input with at least a selected portion of said first vocabulary and to provide a plurality of scores indicating the degree of match of said speech input with identified ones of said models; a continuous speech recognizer; accessible by said continuous speech recognizer, a second vocabulary of respective models numbering less than 2000, said continuous speech recognizer operating to compare speech input to said second vocabulary of models and to provide a score indicating the degree of match of said speech input with an identified sequence of the respective models; means for normalizing the score provided by said continuous speech recognizer on the basis of the length of the speech input; and an arbitration algorithm for selecting from among the models identified by said isolated word speech recognizer and the sequence of models identified by said continuous speech recognizer.
 4. A recognition system as set forth in claim 3 further comprising means for applying a relative scaling said recognizer scores by a factor empirically trained to minimize incursions by each of said vocabularies on correct results from the other vocabulary.
 5. A flexible speech recognition system comprising:an isolated word speech recognizer; accessible by said isolated word speech recognizer, a first vocabulary of respective models numbering in excess of 5000, said isolated word speech recognizer operating to compare speech input with at least a selected portion of said first vocabulary and to provide a score indicating the degree of match of said speech input with an identified one of said models; a continuous speech recognizer; accessible by said continuous speech recognizer, a second vocabulary of respective models numbering less than 2000, said continuous speech recognizer operating to compare speech input to said second vocabulary of models and to provide a score indicating the degree of match of said speech input with an identified sequence of the respective models; means for applying a relative scaling of said recognizer scores; an arbitration algorithm for choosing between the model identified by said isolated word speech recognizer and the sequence of models identified by said continuous speech recognizer, the relative scaling of said scores being by a factor empirically trained to minimize incursions by each of said vocabularies on correct results from the other vocabulary.
 6. A recognition system as set forth in claim 5 further comprising means for normalizing the score provided by said continuous speech recognizer on the basis of the length of the speech input.
 7. A recognition system as set forth in claim 5 wherein said scaling factor is determined by applying, with a given factor,A. isolated word test data to both recognizers and counting the intrusions by CSR models on correct ISR translations, and B. continuous word test data to both recognizers and counting intrusions by ISR models on correct CSR translations, and then adjusting said factor to minimize intrusions. 